Instituto Federal de São Paulo (IFSP)
Campus Bragança Paulista/SP

Análise e Desenvolvimento de Sistemas (ADS)

Profa. Ana Paula Müller Giancoli
paulagiancoli@ifsp.edu.br

5o. módulo

Desenvolvimento Web (DWEI5)


AULA 06 - TAGS HTML DE FORMULÁRIOS E SUAS RESPECTIVAS PROPRIEDADES CSS

Agenda

  • Apresentação
  • Apresentação Tags HTML de Formulários e suas propriedades
  • Perguntas

1. Apresentação Tags HTML de Formulários

1.1. Form

  • Cada vez que você deseja criar um formulário HTML, você deve iniciá-lo usando esse elemento, colocando todo o conteúdo dentro.
  • Muitas tecnologias assistivas ou plugins do navegador podem usar o < form > e , < /form > e implementar atalhos especiais para torná-los mais fáceis de usar.
  • Sintaxe:
<form> 
   ...inserir suas tags de formulário aqui ...
</form>

1.2. Atributos do Formulário

  • name: indica o nome do formulário, pois em uma página poderei ter mais de um. E este atributo será usado para identificá-lo.

    • Exemplo:
      <form name="form1"> .... </form>
      
  • action: define onde os dados são enviados. Seu valor deve ser um URL válido. Se esse atributo não for fornecido, os dados serão enviados para o URL da página que contém o formulário.

    • Exemplo:
      <form action="http://teste.com" name="form1"> .... </form>
      
  • method: define como os dados são enviados.

    • O protocolo HTTP fornece várias maneiras de executar uma solicitação.
    • Dados de formulários HTML podem ser transmitidos através de métodos GET ou POST.

      • GET: se um formulário é enviado usando esse método, os dados enviados ao servidor são anexados ao URL. Os dados são anexados ao URL como uma série de pares nome/valor. Após a conclusão do endereço da Web de URL, incluímos um ponto de interrogação (?) seguido dos pares nome/valor, cada um separado por um e comercial (&).
      • POST: se um formulário é enviado usando esse método, os dados são anexados ao corpo da solicitação HTTP. As solicitações HTTP nunca são exibidas para o usuário. Do lado do sevidor, para acessar estes dados, depende da plataforma de desenvolvimento que você usa e de quaisquer frameworks específicos que você possa usar com ele.
    • Exemplo:

      <form action="http://teste.com" name="form1" method="POST"> .... </form>
      

1.2.1. Enviando dados de um Formulário

  • De acordo com [MDN Web Docs], basicamente, a web usa uma arquitetura cliente / servidor que pode ser resumida da seguinte forma. um cliente (geralmente um navegador da web) envia uma solicitação a um servidor (na maioria das vezes, um servidor da web como Apache , Nginx , IIS , Tomcat etc.), usando o protocolo HTTP . O servidor responde à solicitação usando o mesmo protocolo.
  • Para maiores detalhes, consulte MDN Web Docs.

Figura representa a arquitetura
Fonte: (MDN Web Docs). Disponível em: MDN Web Docs. Acesso em: 14 jul. 2020.

1.3. Criando a Estrutura Básica do HTML

1.3.1. Fieldset e Legend

  • É uma maneira de criar grupos que compartilham o mesmo propósito, para fins de estilo e semântica.
  • Você pode rotular um < fieldset >, incluindo um < legend > logo abaixo da tag de abertura < fieldset >.
  • O conteúdo textual da < legend > formalmente descreve a finalidade da < fieldset >. É incluído dentro, entre as tags < fieldset > e < \fieldset >.
  • Sintaxe:
<fieldset>
    <legend> Legenda do Fieldset </legend>
    ....demais conteúdos ... 
</fieldset>
  • Exemplo1 - Sem formatação das propriedades CSS:
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Tags de Formulários</title>
</head>
<body>
  <form method="post" action="" name="form1" >
     <fieldset>                                <!-- Adicionado -->
        <legend>Informações Pessoais</legend>  <!-- Adicionado -->
     </fieldset>                               <!-- Adicionado -->
  </form>
</body>
</html>

Saída:

  • Exemplo 2 - Aplicando algumas formatações CSS já conhecidas e outras novas:
<!-- Arquivo index.html -->
<!-- Estrutura do HTML mantida a mesma -->
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Tags de Formulários</title>
    <link rel="stylesheet" href="css/estilo.css">
</head>
<body>
  <form method="post" action="" name="form1" >
     <fieldset>                                <!-- Adicionado -->
        <legend>Informações Pessoais</legend>  <!-- Adicionado -->
     </fieldset>                               <!-- Adicionado -->
  </form>
</body>
</html>
/* Arquivo estilo.css */
/* Todos os elementos dentro do fieldset, receberão estas configurações */
/* Exceto se forem especificados individualmente após esta definição */
/* Caso a altura não seja definida, ele assumirá conforme o conteúdo do fieldset. */
fieldset {
  width: 600px;
  height: 200px;
  font-family: Tahoma;
  font-size: 22px;
  font-weight: bold;
  background-color: lightskyblue;
  border: 10px #af3333 solid;
}

/* A legenda será configurada conforme indicado */
legend {
  color: darkblue;              /* Cor do texto da legenda */
  background-color: #b9def0;    /* Cor de fundo da legenda */
  padding: 10px;
  border: 10px #af3333 solid;   /* Borda da legenda, modificando a espessura, cor, e tipo */
  border-radius: 2em;           /* Cantos arredondados da legenda */
}

Saída:

1.3.2. Label e Outline

  • É uma maneira de definirmos um rótulo (uma etiqueta) para os elementos de um formulário.
  • Elemento importante para criar formulários acessíveis (quando implementados adequadamente, os leitores de tela falam o rótulo de um elemento do formulário juntamente com quaisquer instruções relacionadas).
  • O atributo for da tag < label > serve para relacionar uma tag < label > com uma tag < input > pelo seu respectivo identificador ID, assim o texto do label torna-se clicável, dando foco no input correspondente identificado pelo seu id.
  • Sintaxe:

    <label for="identificador">Label</label>
    
  • Exemplo1 - Aplicando algumas formatações CSS já conhecidas e outras novas:

<!-- Arquivo index.html -->
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Tags de Formulários</title>
    <link rel="stylesheet" href="css/estilo.css">
</head>
<body>
  <form method="post" action="" name="form1" >
     <fieldset>                                 
        <legend>Informações Pessoais</legend>  
         <label for="">Rótulo</label>          <!-- Adicionado -->
     </fieldset>                                
  </form>
</body>
</html>
/* Arquivo estilo.css */
/* Todos os elementos dentro do fieldset, receberão estas configurações */
/* Exceto se forem especificados individualmente após esta definição */
/* Caso a altura não seja definida, ele assumirá conforme o conteúdo do fieldset. */
fieldset {
  width: 600px;
  height: 200px;
  font-family: Tahoma;
  font-size: 22px;
  font-weight: bold;
  background-color: lightskyblue;
  border: 10px #af3333 solid;
}

/* A legenda será configurada conforme indicado */
legend {
  color: darkblue;              /* Cor do texto da legenda */
  background-color: #b9def0;    /* Cor de fundo da legenda */
  padding: 10px;
  border: 10px #af3333 solid;   /* Borda da legenda, modificando a espessura, cor, e tipo */
  border-radius: 2em;           /* Cantos arredondados da legenda */
}

Saída:

  • Exemplo2 - Modificando para rótulo clicável:
<!-- Arquivo index.html -->
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Tags de Formulários</title>
    <link rel="stylesheet" href="css/estilo.css">
</head>
<body>
  <form method="post" action="" name="form1" >
     <fieldset>
        <legend>Informações Pessoais</legend>
        <label for="nome">Rótulo</label>                  <!-- Adicionado -->
        <input type="text" id="nome" name="nomeusuario">  <!-- Adicionado -->
     </fieldset>
  </form>
</body>
</html>
/* Arquivo estilo.css  omitido para facilitar entendimento. Não foi modificado. */

Saída:

Outline

  • Observação:
    • Para modificar a cor e o formato interno da linha exibida ao redor da caixa de preenchimento, utilize a propriedade CSS outline para defini-la.
    • Exemplo3:
<!-- Arquivo index.html -->
<!-- Estrutura HTML mantida a mesma do exemplo anterior -->
<!-- Omitido para facilitar entendimento -->
/* Arquivo estilo.css */
/* Todos os elementos dentro do fieldset, receberão estas configurações */
/* Exceto se forem especificados individualmente após esta definição */
fieldset {
  width: 600px;
  height: 200px;
  font-family: Tahoma;
  font-size: 22px;
  font-weight: bold;
  background-color: lightskyblue;
  border: 10px #af3333 solid;
}

/* A legenda será configurada conforme indicado */
legend {
  color: darkblue;               
  background-color: #b9def0;    
  padding: 10px;
  border: 10px #af3333 solid;    
  border-radius: 2em;            
}

input {
  outline: darkred solid 5px;   /* Adicionado  para destacar o outline da caixa de texto */
}

Saída:

1.3.3 Input

  • Os campos de textos de um formulário são inseridos por meio da tag < input >. Eles são uma maneira muito conveniente para permitir que o usuário insira qualquer tipo de dados.
    ### 1.3.3.1. Atributos de formulários para a tag input:

name

  • name: Serve para representar uma coleção de valores, enviados através de um formulário, para o servidor.
  • Sintaxe:
    <input type="text" id="nome" name="nomeusuario">
    

type

  • type: É um atributo obrigatório para a tag < input > e define o tipo de entrada de texto que está sendo usada. O valor default é type="text".
  • Sintaxe:
    <input type="text" id="nome" name="nomeusuario">
    

require

  • required: É usado para marcar um campo do formulário como obrigatório, ao tentar enviar o formulá- rio, os navegadores farão a verificação e exibirão uma mensagem e posicionarão o cursor no primeiro campo inválido.
  • Sintaxe:
<input type="text" id="nome" required>

Saída:

min e max

  • min e max: são necessários quando precisa definir os valores mínimos e máximos para campos de valores. Por exemplo, para os tipos number, range.
  • Sintaxe:
    <input type="number" id="idade" min="10" max="100">
    

Saída:

Valor min definido Valor max definido

step

  • step: é utilizado quando é ncessário incluir de quantos em quantos ocorre para os tipos de dados de entrada de data/hora, range, number.
  • No exemplo anterior, poderíamos supor que os valores deveriam saltar de 2 em 2. Assim:
    <input type="number" id="idade" min="10" max="100" step="2">
    

placeholder

  • placeholder: Este é o texto que aparece dentro da caixa de entrada de texto que descreve a finalidade da caixa brevemente.
    <fieldset>
          <legend>Informações Pessoais</legend>
          <label for="nome">Nome</label>
          <input type="text" id="nome" placeholder="Indique seu nome completo">
    </fieldset>
    

Saída:

pattern

  • pattern: É suportado onde quer que o atributo placeholder seja permitido. Contém uma expressão regular de estilo javascript em que o valor de < input > deve satisfazer. Ao inserir este atributo, a boa prática sugere a inserção do atributo title indicando a descrição do padrão). O atributo title é utilizado para indicar ao usuário o que deve ser inserido.
    <fieldset>
          <legend>Informações Pessoais</legend>
          <!-- omitido -->
          <input type="text" id="cel" placeholder="+55(99)9999-9999" pattern="+55(99)9999-9999" title="+55(99)9999-9999">  <!-- inserido -->
    </fieldset>
    

Saída:

  • No exemplo, o que está dentro da caixa de texto é produzido pelo atributo placeholder.
  • O conteúdo que está em uma caixinha cinza externa, é produzido pelo atributo title ao passar o mouse sobre.

readonly

  • readonly: indica que o usuário não pode modificar o valor de entrada.
  • Sintaxe:
<input type="text" id="nome" readonly>

Saída:

  • O usuário não consegue selecionar a caixa de texto para inserir o nome.

disabled

  • disabled: indica que o valor de entrada nunca é enviado com o resto dos dados do formulário. E que o usuário não pode modificar o valor de entrada.
  • Sintaxe:
<input type="text" id="nome" disabled>

Saída:

  • O usuário não consegue selecionar a caixa de texto para inserir o nome.

size

  • size: Indica qual é o tamanho físico da caixa. O conteúdo a ser digitado poderá ser maior do que o definido em size.
  • Sintaxe:
<input type="text" id="nome" size="70">

Saída:

maxlength

  • maxlength: Indica o número máximo de caracteres que podem ser inseridos na caixa. É aplicável nos tipos de dados text, password, url, search, tel, email. Este complementa o atributo size que define externamente a caixa de texto, e este aqui, internamente (conteúdo).

  • Sintaxe:

<input type="text" id="nome" size="70" maxlength="30">

Saída:

  • Mesmo o size sendo igual a 70, e o tamanho máximo definido como 30, não conseguimos digitar mais informação na caixa de texto.

multiple

  • multiple: permite a escolhe da mais de uma opção no campo ao ser usado com a tag < select >.
  • Para isso, mantenha a tecla ctrl pressionada enquanto seleciona os itens da lista. Mais itens irão aparecer ao rolar a barra para baixo.
  • Sintaxe:
<label for="nome">Nome</label>
    <select multiple id="nome">
      <option>Ana Paula</option>
      <option>Paula</option>
      <option>Ana</option>
      <option>Paula Ana</option>
      <option>Aninha</option>
    </select>

Saída:

autocomplete

  • autocomplete é um recurso nativo dos navegadores. Armazena o valor informado pelo usuário, e ao voltar a página, ele é recarregado. Exemplo: autocomplete = "on" ou autocomplete = "off".
<form method="post" action="" name="form1" autocomplete="on">
  • A próxima vez que acessar o mesmo formulário, os campos serão carregados automatizamente.

auto focus

  • autofocus: especifica qual elemento terá o foco direcionado. Somente um único elemento por página poderá ter este atributo.
<input type="text" id="nome" autofocus>

tabindex

  • tabindex: indica se um elemento pode receber foco de entrada (se ele é focável), se e em qual posição ele deve fazer parte da navegação sequencial do teclado (geralmente com a tecla Tab).
  • Sintaxxe:
<fieldset>
        <legend>Informações Pessoais</legend>
        <p>Selecione qualquer um dos itens:</p>
        <label for="um">Elemento inicial:</label>
        <input type="text" id="um">
        <div tabindex="0">Segundo elemento.</div>
        <div>Elemento não indexado com tab.</div>
        <label for="tres">Terceiro elemento:</label>
        <input type="text" id="tres">
     </fieldset>

Saída:

1.3.3.2. Tipos de Input (type)

Valores do tipo (type) < input > já existentes em versões anteriores:

Text

  • É exibido como uma caixa de entrada de dados, permite a inserção de uma linha de texto.

  • Sintaxe:

<fieldset>
       <legend> Texto </legend>
       <label for="texto">Type: text</label>
       <input type="text" id="texto"> 
    </fieldset>

Saída:

Password

  • É um campo de senha. Exibido uma caixa com símbolos para ocultar a senha digitada.

  • Sintaxe:

<fieldset>
      <legend>Senha</legend>
      <label for="texto">Type: password</label>
      <input type="password" id="texto">
    </fieldset>

Saída:

Radio

  • É um botão de radio, permite escolher uma única opção entre os itens disponíveis.

  • Sintaxe:

<fieldset>
      <legend>Radio Button</legend>
      <label for="if1"> Institutos Federais </label>
      <div class="radio">
         <input type="radio" id="if1" name="ifs" checked>
         <label for="if1" class="linha">IFSP</label>
      </div>
      <div class="radio">
         <input type="radio" id="if2" name="ifs">
         <label for="if2" class="linha">IFF</label>
      </div>
      <div class="radio">
         <input type="radio" id="if3" name="ifs">
         <label for="if3"  class="linha">IFMG</label>
      </div>
      <div class="radio">
         <input type="radio" id="if4" name="ifs">
         <label for="if4"  class="linha">IF Sudeste de Minas</label>
      </div>
    </fieldset>

Saída:

Checkbox

  • É uma caixa de seleção, permite escolher mais de uma opção.

  • Sintaxe:

<fieldset>
      <legend>Checkbox</legend>
      <div class="checkbox">
        <input type="checkbox" id="l1" name="ling1" checked tabindex="1">
        <label for="l1" class="linha">Python</label><br>
      </div>
      <div class="checkbox">
        <input type="checkbox" id="l2" name="ling2"  tabindex="2">
        <label for="l2"  class="linha">JAVA</label><br>
      </div>
      <div class="checkbox">
        <input type="checkbox" id="l3" name="ling3"  tabindex="3">
        <label for="l3"  class="linha">PHP</label><br>
      </div>
      <div class="checkbox">
        <input type="checkbox" id="l4" name="ling4"  tabindex="4" >
        <label for="l4" class="linha">C#</label><br>
      </div>
    </fieldset>

Saída:

Submit

  • É um Botão de envio, remete os dados do formulário. Exibido o conteúdo de value. Se o atributo name for inserido, ao enviar o formulário será enviado o nome e o valor.

  • Sintaxe:

<fieldset>
      <legend>Enviar o formulário</legend>
      <label for="texto">Type: submit</label><br>
      <input type="submit" id="texto">
    </fieldset>

Saída:

Reset

  • É um botão de redefinição. Restaura o formulário com os valores padrão. Não é muito usado devido a experiências desagradáveis.

  • Sintaxe:

<fieldset>
      <legend>Limpar o formulário</legend>
      <label for="texto">Type: reset</label><br>
      <input type="reset" id="texto"> 
    </fieldset>

Saída:

File

  • Tem por finalidade permitir que o usuário carregue, anexe ou interaja com um arquivo local a partir de seu computador ou rede. Atributos permitidos: name, disabled, accept, autofocus, multiple, required, capture.
  • O atributo accept de alguns navegadores móveis permite acesso a câmera, microfone de alguns dispositivos.

  • Sintaxe:

<fieldset>
      <legend>Carregar arquivo</legend>
      <label for="texto">Type: file</label><br>
      <input type="file" id="texto"> 
    </fieldset>

Saída:

Hidden

  • Permite os atributos name, value. O campo com este tipo de dados não é exibido no formulário, utilizado para passar valores para os servidores.

  • Sintaxe:

<fieldset>
      <legend>Esconder</legend>
      <label for="texto">Type: hidden</label><br>
      <input type="hidden" id="texto"> 
    </fieldset>

Saída:

Image

  • É semelhante ao comportamento do tipo submit e utiliza todos os atributos da tag < img >, especificamente < src >, < alt >.

  • Sintaxe:

<fieldset>
      <legend>Imagem</legend>
      <label for="texto">Type: image</label><br>
      <input type="image" id="texto" src="logoDWE.jpg"> 
    </fieldset>

Saída:

Button

  • É um botão, e é usado para manipular eventos.

  • Sintaxe:

<fieldset>
      <legend>Botão</legend>
      <label for="texto">Type: button</label><br>
      <input type="button" id="texto" value="Executar">
    </fieldset>

Saída:

Valores do tipo (type) < input > que surgiram com HTML5

Number

  • É um campo de texto para inserir um número. Permitido a combinação dos atributos min, max e step. Em alguns dispositivos móveis permite exibir um teclado numérico.

  • Sintaxe:

<fieldset>
      <legend>Número</legend>
      <label for="texto">Type: number</label><br>
      <input type="number" id="texto" value="1">
    </fieldset>

Saída:

Email

  • É um campo destinado a inserção do email. O navegador fará a validação básica. Nos dispositivos móveis, o teclado é exibido A-Z, ponto, botão _123(leva ao teclado modificado) incluindo o caracter @.

  • Sintaxe:

<fieldset>
      <legend>E-mail</legend>
      <label for="texto">Type: e-mail</label><br>
      <input type="email" id="texto" placeholder="xx.xx@ifsp.edu.br">
    </fieldset>

Saída:

  • É um campo de busca, exibido como uma caixa com cantos arredondados. Em alguns navegadores aparece à direita um botão que pode limpá-lo quando selecionado. Já nos dispositivos móveis, exibe a lupa.

  • Sintaxe:

<fieldset>
      <legend>Pesquisa</legend>
      <label for="texto">Type: search</label><br>
      <input type="search" id="texto">
    </fieldset>

Saída:

Tel

  • É um campo utilizado para inserir um número de telefone. Não exige sintaxe ou padrão específico. Poderá inserir um atributo placeholder para indicar o formato de inserção, pattern para exigir o formato e codificar em javascript a validação deste número.

  • Sintaxe:

<fieldset>
      <legend>Telefone</legend>
      <label for="texto">Type: tel</label><br>
      <input type="tel" id="texto">
    </fieldset>

Saída:

Url

  • É um campo utilizado para inserir um endereço web. O endereço deve ser inserido completo incluindo o teipo de protocolo. Nos dispositivos móveis, o teclado é exibido A-Z, ponto, barra inclinada e .com.
  • Sintaxe:
<fieldset>
      <legend>URL</legend>
      <label for="texto">Type: url</label><br>
      <input type="url" id="texto" placeholder="http://www.ifsp.edu.br">
    </fieldset>

Saída:

Range

  • É exibido na forma de um controle deslizante. Atributos permitidos min, max, step. Em value, defina o ponto inicial a posicionar a marcação do dezlizante.

  • Sintaxe:

<fieldset>
      <legend>Faixa</legend>
      <label for="texto">Type: range</label><br>
      <input type="range" id="texto" min="1" max="10" value="3">
    </fieldset>

Saída:

Color

  • Permite a seleção de uma cor. Utiliza a paleta de cores do sistema operacional. O valor padrão é #000000.

  • Sintaxe:

<fieldset>
      <legend>Cor</legend>
      <label for="texto">Type: color</label><br>
      <input type="color" id="texto">
    </fieldset>

Saída:

Date

  • Fornece uma data com ano, mês e dia. Alguns navegadores fornecem o suporte ao calendário.

  • Sintaxe:

<fieldset>
      <legend>Data</legend>
      <label for="texto">Type: date</label><br>
      <input type="date" id="texto">
    </fieldset>

Saída:

Datatime-local

  • Fornece dois campos: um para data (ano, mês, dia) e outro para hora (hora, minuto, segundo, fração de segundo). Permite usar os atributos min, max, step.
  • Sintaxe:
<fieldset>
      <legend>Data Local</legend>
      <label for="texto">Type: datetime</label><br>
      <input type="datetime-local" id="texto">
    </fieldset>

Saída:

Month

  • Fornece a inclusão do mês e do ano, sem o dia do mês e o fuso horário.
  • Sintaxe:
<fieldset>
      <legend>Mês</legend>
      <label for="texto">Type: month</label><br>
      <input type="month" id="texto">
    </fieldset>

Saída:

Time

  • Fornece um mecanismo que coloca a hora em formato de 24h. As horas podem ser maiores ou iguais a zero e menores do que 24h.
  • Sintaxe:
<fieldset>
      <legend>Time</legend>
      <label for="texto">Type: time</label><br>
      <input type="time" id="texto">
    </fieldset>

Saída:

Week

  • Permite o uso de uma data composta com o número da semana dentro de um ano, sem o mês, hora e dia.
  • Sintaxe:
<fieldset>
      <legend>Semana</legend>
      <label for="texto">Type: week</label><br>
      <input type="week" id="texto">
    </fieldset>

Saída:

1.1.3.4. Textarea

  • É um campo de texto de forma livre, sem restrições de quebra de linha. Bloco de texto rolável e de várias linhas.
  • O atributo wrap surgiu com o HTML5, especificando os Valores:
    • soft (default - o texto será enviado sem quebra de linha, caso não tenha sido inseridas) e
    • hard (inclui quebras de linhas explícitas).
  • Ao utilizar o atributo wrap como sendo hard, especifique também o atributo cols, obrigatoriamente. Utilize o CSS para definir largura e altura. E não mais o row e cols como era nas versões anteriores.
  • Sintaxe:
<fieldset>
      <legend> Textarea </legend>
      <label for="texto">Textarea</label><br>
      <textarea id="texto" wrap="soft">Digite aqui seu texto</textarea> 
    </fieldset>


    <fieldset>
      <legend> Textarea </legend>
      <label for="texto">Textarea</label><br>
      <textarea id="texto" wrap="hard" cols="20">Digite aqui seu texto</textarea>
    </fieldset>

Saída:

wrap: soft wrap: hard cols = 20

1.1.3.5. Select, Option, Optgroup

  • A tag < select > especifica um menu de opções (seleção).
  • Um < select > deve conter um ou mais < option > ou, um ou mais < optgroup > contendo elementos < option >.
  • Sintaxe:
<fieldset>
      <legend>Seletores</legend>
      <div>
        <label for="cores">Cores</label>
        <select name="tabelaCores" id="cores">
          <option value="0">Selecione..</option>
          <option value="1">vermelho</option>
          <option value="2">verde</option>
          <option value="3">amarelo</option>
        </select><br>
      </div>
    </fieldset>

Saída:

<fieldset>
      <legend>Seletores</legend>
      <div>
        <label for="dias">Dias da Semana</label><br>
        <div>
          <select name="DiasSemana" multiple id="dias">
            <option value="Dom">Domingo</option>
            <option value="Seg">Segunda</option>
            <option value="Ter">Terça</option>
            <option value="Qua">Quarta</option>
            <option value="Qui">Quinta</option>
            <option value="Sex">Sexta</option>
            <option value="Sab">Sábado</option>
          </select><br>
        </div>
      </div>
    </fieldset>

Saída:

<fieldset>
      <legend>Seletores</legend>
      <div class="form-group">
        <label for="equip">Equipamentos</label>
        <select name="equipa" id="equip">
          <option>Selecione...</option>
          <optgroup label="Hardware">
            <option value="tec">Teclado</option>
            <option value="mou">Mouse</option>
          </optgroup>
          <optgroup label="Software">
            <option value="java">Java</option>
            <option value="c#">C#</option>
          </optgroup>
        </select>
      </div>
    </fieldset>

Saída:

1.1.3.6. Datalist, list

  • Para os tipos text, email, url, tipos relacionadas a data, hora e tipos numéricos do elemento < input >, o atributo list aponta para uma lista de valores que o navegador deve oferecer para o usuário, além de permitir a seleção.
  • O elemento list recebe como valor o identificador do elemento < datalist > que contém a lista.

  • Sintaxe:

<fieldset>
      <legend>Listagem</legend>
      <div hidden>
        <datalist id="contactlist" class="form-control">
          <option value="anapaula@xx.com.br" label="Ana Paula">
          <option value="paula@xx.com.br" label="Paula">
          <option value="giancoli@xx.com.br" label="Giancoli">
        </datalist>
      </div>
      <div class="form-group">
        <label for="contato">Contato:</label>
        <input class="form-control" type="email" id="contato" list="contactlist">
      </div>
    </fieldset>

Saída:

1.1.3.7. Button

  • O elemento < button > pode ser de 3 tipos: submit, reset, button. O valor defautl é submit.
  • Sintaxe:
<fieldset>
      <legend>Botão Button</legend>
      <button type="button">Tipo button</button>
    </fieldset> 



    <fieldset>
      <legend>Botão Submit</legend>
      <button type="submit">Tipo submit</button>
    </fieldset>  



    <fieldset>
      <legend>Botão Reset</legend>
      <button type="reset">Tipo Reset</button>
    </fieldset>

Saída:

1.1.3.8. Output

  • É um elemento similar ao elemento < span >, porém pode ser usado para controle de formulário. Como novidade no HTML5, ele pode ter os atributos form, name, for e os eventos onchange, onforminput, onformchange além dos manipuladores de eventos universais.
  • Não tem o atributo value, sendo o seu valor definido pelo conteúdo inserido entre as tags < output > e < /output >.
  • Já o atributo for, tem um funcionamento diferente do for para o label. O for quando utilizado com output, recebe como valor uma lista separada de espaços com os identificadores dos outros elementos associados à saída.
  • Sintaxe:
<fieldset>
        <legend>Uso do Output</legend>
        <h2>Multiplicação</h2>
        <form oninput="output.value = parseInt(val1.valueAsNumber || 0) * parseInt(val2.valueAsNumber || 0)" id=foo>
          <input id=a type=number name=val1 tabindex="1"> x
          <input id=b type=number name=val2 tabindex="2"> =
          <output name=output for="val1 val2" form=foo>000</output>
        </form>



        <h2>Soma</h2>
        <form oninput="output.value = parseInt(val3.valueAsNumber || 0) + parseInt(val4.valueAsNumber || 0)" id=foo1>
          <input id=c type=number name=val3 tabindex="3"> +
          <input id=d type=number name=val4 tabindex="4"> =
          <output name=output for="val3 val4" form=foo1>000</output>
        </form>



        <h2>Subtração</h2>
        <form oninput="output.value = parseInt(val5.valueAsNumber || 0) - parseInt(val6.valueAsNumber || 0)" id=foo2>
          <input id=e type=number name=val5 tabindex="5"> -
          <input id=f type=number name=val6 tabindex="6"> =
          <output name=output for="val5 val6" form=foo2>000</output>
        </form>



        <h2>Divisão</h2>
        <form oninput="output.value = parseInt(val7.valueAsNumber || 0) / parseInt(val8.valueAsNumber || 0)" id=foo3>
          <input id=g type=number name=val7 tabindex="7"> /
          <input id=h type=number name=val8 tabindex="8"> =
          <output name=output for="val7 val8" form=foo3>000</output>
        </form>
    </fieldset>

Saída:

1.1.3.9. Meter

  • Para aprofundamendo do assunto, consulte o artigo The HTML5 meter Element.
  • É utilizado como aferidor de alguma medida dentro de um intervalo conhecido.
  • É usado para indicar o valor atual em relação aos valores mínimo e máximo.
    • Os atributos permitidos com < meter > são min, max, high, low, optimum.
    • O atributo optimum fornece o valor do ponto que marca a posição ótima do aferidor.
    • Os atributos min e max, os respectivos valores mínimos e máximos.
    • Os atributos high e low, devem ser o menor valor que pode ser considerado um valor alto e o maior valor que pode ser considerado baixo.
  • Sugestão: utilize < meter > quando souber os valores mínimo e máximo e os valores puderem variar.

1.1.3.10. Progress

  • Semelhante ao < meter >, porém é utilizado para indicar progresso. Indica até que ponto evolui algo.
  • Os atributos permitidos são o value, max onde ambos são valores de ponto flutuante positivos. E valor menor do que max.
  • Sintaxe:
<fieldset>
         <legend>Exemplos Range, Meter, Progress</legend>
         <h4>Range</h4>
         <input type="range" id="texto" name="range" min="0"  max="100" step="1"><br><br>

         <h4>Meter</h4>
         <meter value="60" name="meter" min="0"  max="100" low="73"  high="87">D--</meter><br><br>

         <h4>Progress</h4>
         <progress value="80" name="prog" max="100"><span id=""complete">0</span>%</progress>
    </fieldset>

Saída:

Referências

  • Esta aula foi elaborada a partir do conteúdo disponibilizado em cada um dos links indicados no próprio texto.

Perguntas

  • Esclareça suas eventuais dúvidas durante as aulas.
  • Ou pelo E-mail: paulagiancoli@ifsp.edu.br.
  • Ou pelo Fórum do componente curricular.

ADS - HTML5, CSS3, JS - 5o. módulo.
Modelo e formato elaborado por profa. Ana Paula Müller Giancoli - BSD 2-Clause License. - Julho.2020.

</div> </div>